import javax.imageio.stream.ImageInputStream;

 /*1.Statick修饰静态成员方法
被static修饰的成员方法称为静态成员方法，是类的方法，不是某个对象所特有的。静态成员一般是通过静态方法来访问的。
在静态方法中，不能直接调用非静态方法。静态方法不依赖对象，通过类名进行访问。
 非静态方法依赖对象，需要通过对象引用来访问。*/
public class Test11{
    public static String set="晚安";//静态成员变量
    public void tok(){
        System.out.println("王");            //在非静态方法中，能直接通过类名调用非静态方法。
        System.out.println(Test11.setdown());
    }
    public static String setdown(){         //静态成员方法
        //this不能在静态方法中使用
        Test11 test11=new Test11();         //new一个对象才能再去调用tok方法
        test11.tok();
        return set;

    }

    public static void main(String[] args) {

    }
}
/*
2.static成员变量初始化       分为就地初始化 和 静态代码块初始化。
2.1   就地初始化 public class Test11{
                  private static String classRoom = "Bit306";
                 }


2.2   静态代码块初始化    一般用于初始化静态成员变量。
      执行顺序   静态代码块---实例代码块---构造方法
      静态代码块不管生成多少个对象，其只会执行一次
*/
public class Test11 {
    public int age;
    public int num;
    {
        this.age=13;                                    //实例代码块
        this.num=9;
        System.out.println("实例代码块被执行");
    }

    public static String classroom="102";
    static {                                            //静态代码块
        classroom="103";
        System.out.println("静态代码块被执行");
    }

    public Test11(){
        System.out.println("构造方法被执行");             //构造方法
    }



    public static void main(String[] args) {
        System.out.println(classroom);                  //静态代码块输出

        Test11 test11=new Test11();
        System.out.println(test11.age);                 //实例代码块输出
        System.out.println(test11.num);


    }
}
 /*3.对象的打印toString方法*/右键---Generate---tostring()
public class Test11 {
    public int age;
    public int high;
    public String name;
    public Test11(int age,int high,String name){
            this.name=name;
            this.age=age;
            this.high=high;
    }

    @Override
    public String toString() {
        return "Test11{" +
                "age=" + age +
                ", high=" + high +
                ", name='" + name + '\'' +
                '}';
    }

    public static void main(String[] args) {
        Test11 test11=new Test11(10,8,"wang");
        System.out.println(test11);
    }

}